Miles Sound System SDK 7.2a

Digital Audio Services

Discussion

The Digital Audio Services are used to play both 2D (non-spatialized) and 3D (attenuated by position and/or directionality) digital audio samples from memory-resident buffers, low-level streaming ("double-buffered") buffers, or high-level streams.

These functions can directly play PCM, IMA ADPCM, or ASI-compressed data such as Ogg Vorbis and MPEG Layer 3 files. On the original Xbox, you can also play Xbox ADPCM data.

See the Digital Audio Streaming Services section for details on streaming an audio sample from a disk file.

Digital Audio Services
AIL_open_digital_driver opens a digital driver to play 2D digital audio.
MSS_SPEAKER may be used to specify either a source (HSAMPLE/HSTREAM) channel or an HDIGDRIVER's destination speaker output channel.
MSS_MC_SPEC specifies an output channel-configuration option for use with AIL_open_digital_driver or AIL_quick_startup.
MILES_OPEN_DIGITAL_FLAGS specifies open flags for the AIL_open_digital_driver function.
AIL_close_digital_driver shuts down and closes an audio driver which was opened by a previous call to AIL_open_digital_driver.
AIL_digital_handle_release temporarily releases the hardware digital handle (either the HWAVEOUT handle, the DirectSound object, or the Sound Manager buffer) back to the system.
AIL_digital_handle_reacquire attempts to reacquire hardware digital handle (either the HWAVEOUT handle, the DirectSound object, or the Sound Manager buffer) from the system.
AIL_set_DirectSound_HWND assigns the HWND to use for DirectSound's focus control.
AIL_HWND returns the HWND that MSS has detected as your primary HWND.
AIL_set_digital_master_volume_level establishes an overall `master volume` value which is used to scale the volumes of all subsequent digital audio samples.
AIL_digital_master_volume_level returns the current digital master volume setting in use.
AIL_set_digital_master_reverb sets the global reverb settings to use.
MILES_ROOM_TYPE specifies a room type to use for the environmental reverb.
AIL_digital_master_reverb retrieves the global reverb settings to use.
AIL_set_digital_master_reverb_levels establishes the overall `master reverb` levels which are used to scale the levels of the reverb of all subsequent digital audio samples.
AIL_digital_master_reverb_levels retrieves the overall `master reverb` levels.
AIL_set_speaker_reverb_levels sets the global wet and dry reverb-response scalars at one or more speakers.
AIL_speaker_reverb_levels returns three arrays describing the wet and dry reverb-response scalars at all speakers, plus the speaker channel identifiers themselves.
AIL_calculate_3D_channel_levels gives your application direct access to the Miles 3D sound-positioner function.
MSSVECTOR3D
AIL_allocate_sample_handle searches for a free sample handle and returns it to the application for use in the playback of digital audio data.
AIL_release_sample_handle releases a sample handle previously allocated with AIL_allocate_sample_handle.
AIL_init_sample prepares a sample handle for playback of audio data.
AIL_set_sample_address specifies the starting address and length for a raw data sample.
AIL_set_sample_file initializes a sample's address, length, type, and flags to prepare for playback of memory-resident sound data.
AIL_set_named_sample_file initializes a sample's address, length, type, and flags to prepare for playback of a memory-resident sound data.
AIL_set_sample_info initializes a sample's address, length, type, and flags to prepare for playback of memory-resident sound data.
MILES_DIGITAL_FORMAT describes the type of digital audio.
MILES_DIGITAL_FLAGS describes the layout of digital audio.
AIL_start_sample starts playback of a sample from its beginning.
AIL_stop_sample stops playback of a sample.
AIL_resume_sample resumes playback of a sample which was previously stopped.
AIL_end_sample terminates playback of a sample, setting its status to SMP_DONE.
AIL_set_sample_playback_rate sets a sample's playback rate in hertz.
AIL_sample_playback_rate returns the current sample playback rate.
AIL_set_sample_volume_pan controls a sample's playback volume level and pan.
AIL_sample_volume_pan returns the current sample volume and pan, from 0 to 1.0.
AIL_set_sample_reverb_levels changes the reverb levels of a digital audio sample.
AIL_sample_reverb_levels retrieves the reverb levels of a digital audio sample.
AIL_set_sample_low_pass_cut_off applies a low-pass filter to the digital audio sample.
AIL_sample_low_pass_cut_off retrieves the current low-pass cutoff setting.
AIL_set_sample_51_volume_pan controls a sample's playback volume and pan values when using multichannel discrete output modes.
AIL_sample_51_volume_pan returns the current sample 5.1 volumes and pan, from 0 to 1.0, resulting from a prior call to AIL_set_sample_51_volume_pan or AIL_set_sample_51_volume_levels.
AIL_set_sample_volume_levels controls a sample's playback volume levels.
AIL_sample_volume_levels returns the current sample volumes, from 0 to 1.0.
AIL_set_sample_channel_levels scales the output contribution from each source channel in the specified HSAMPLE to each speaker.
AIL_sample_channel_levels returns an array of level-scaling factors for one or more combinations of source channels and destination speakers.
AIL_sample_output_levels returns the final mixer level-scaling factors for one or more combinations of source channels and destination speakers.
AIL_set_sample_51_volume_levels controls a sample's playback volume levels when using multichannel discrete output modes.
AIL_sample_51_volume_levels returns the current sample 5.1 volumes, from 0 to 1.0, on discrete multichannel platforms.
AIL_set_sample_3D_distances sets the minimum and maximum distances for a given sample handle.
AIL_sample_3D_distances returns the current minimum and maximum distances for the specified sample handle.
AIL_set_sample_3D_cone sets the sound emission cone on a sample.
AIL_sample_3D_cone retrieves the current sound emission cone of a sample.
AIL_set_sample_occlusion sets the occlusion for the specified 3D sample.
AIL_sample_occlusion retrieves the current occlusion level of the given sample.
AIL_set_sample_obstruction sets the obstruction for the specified 3D sample.
AIL_sample_obstruction retrieves the current obstruction level of the given sample.
AIL_set_sample_exclusion sets the exclusion for the specified 3D sample.
AIL_sample_exclusion retrieves the current exclusion level of the given sample.
AIL_set_listener_3D_position sets the three-dimensional position of the 3D listener.
AIL_listener_3D_position retrieves the current 3D position of the 3D listener.
AIL_set_listener_3D_velocity sets the current velocity of the 3D listener.
AIL_listener_3D_velocity retrieves the current velocity of the 3D listener.
AIL_set_listener_3D_velocity_vector sets the current velocity of the 3D listener.
AIL_update_listener_3D_position updates the 3D listener's position based on its previously set velocity and the specified delta time in milliseconds.
AIL_set_listener_3D_orientation specifies the orientation of the 3D listener.
AIL_listener_3D_orientation retrieves the orientation of the 3D listener.
AIL_set_sample_3D_position sets a sample's current position in 3D space.
AIL_sample_3D_position retrieves the current 3D position of a 3D sample.
AIL_set_sample_3D_velocity sets the current velocity of a 3D sample.
AIL_sample_3D_velocity retrieves the current velocity of a 3D sample.
AIL_set_sample_3D_velocity_vector sets the current velocity of a 3D sample.
AIL_update_sample_3D_position updates a 3D sample's position based on its previously-set velocity and the specified delta time in milliseconds.
AIL_set_sample_3D_orientation specifies the orientation of a 3D sample.
AIL_sample_3D_orientation retrieves the orientation of a 3D sample.
AIL_set_room_type sets the room type that the listener is currently in.
AIL_room_type returns the current room type.
AIL_set_3D_rolloff_factor sets the driver's global 3D rolloff factor.
AIL_3D_rolloff_factor returns the driver's current 3D rolloff factor.
AIL_set_3D_doppler_factor sets the driver's global 3D Doppler factor.
AIL_3D_doppler_factor returns the driver's current 3D Doppler factor.
AIL_set_3D_distance_factor sets the driver's global 3D distance factor.
AIL_3D_distance_factor returns the driver's current 3D distance factor.
AIL_set_sample_loop_count arranges for a sample to be restarted immediately upon completion, for a total of two or more iterations.
AIL_sample_loop_count returns the number of loop iterations remaining for the given sample.
AIL_set_sample_loop_block arranges for a sub-block of a sample to be looped.
AIL_sample_loop_block returns the beginning and ending loop offsets previously passed to AIL_set_sample_loop_block.
AIL_set_sample_position adjusts the playback position of a sample.
AIL_sample_position reports the current playback position of a sample.
AIL_set_sample_ms_position adjusts the playback position of a sample.
AIL_sample_ms_position reports the current playback position and length of a sample in milliseconds.
AIL_sample_status returns the status of a given sample handle.
MILES_DIGITAL_STATUS describes the current state of the digital audio.
AIL_set_sample_user_data sets a value for one of eight user data entries associated with each sample handle.
AIL_sample_user_data retrieves a value for one of eight user data entries associated with each sample handle.
AIL_minimum_sample_buffer_size returns the minimum usable buffer size for use with the low-level streaming function AIL_load_sample_buffer.
AIL_sample_buffer_available checks to see if any of the buffers associated with a sample handle are ready to be filled with new audio data by the AIL_load_sample_buffer function.
AIL_load_sample_buffer sets the address and length for one of the low-level streaming buffers associated with a sample handle, enabling low-level streaming mode for that sample handle.
AIL_sample_buffer_info returns detailed information about the status of the low-level streaming buffers for the specified sound handle.
AIL_sample_buffer_count returns the number of low-level streaming buffers associated with a sample.
AIL_set_sample_buffer_count sets the number of low-level streaming buffers available for use with a given sample handle.
AIL_sample_channel_count returns information about the source channels associated with a sample.
AIL_sample_granularity returns the granularity of a sample in bytes.
AIL_set_sample_adpcm_block_size sets the block size for the IMA ADPCM data.
AIL_digital_CPU_percent returns the percentage of total CPU being spent in the Miles digital processing loop.
AIL_digital_latency returns the approximate latency of a sound if it were started immediately.
AIL_set_speaker_configuration establishes the listener-relative location of the speaker array, and the falloff power factor used for sample spatialization.
AIL_speaker_configuration returns an array of 3D vectors describing the listener-relative locations of the array of speakers associated with the current output format, plus some additional information about the format.
AIL_enumerate_output_filter_driver_properties enumerates the possible driver-level properties of an output filter.
AIL_enumerate_output_filter_sample_properties enumerates the possible sample-level properties of an output filter.
AIL_output_filter_driver_property retrieves and/or sets driver-level properties for an output filter.
AIL_register_SOB_callback arranges for callback service to be provided to an application's function just before a block of sample data is merged into the hardware buffer.
AILSAMPLECB specifies a user-defined digital audio callback.
AIL_register_EOB_callback arranges for callback service to be provided to an application function immediately upon reaching the end of a sample buffer.
AIL_register_EOS_callback arranges for callback service to be provided to an application function immediately upon reaching the end of a sample.
AILFALLOFFCB specifies a user-defined 3D distance-based falloff function callback.
AIL_register_falloff_function_callback allows an application to override the system's default distance-based attenuation calculations for 3D-enabled samples.
AIL_active_sample_count returns the number of currently-playing samples.
AIL_digital_configuration returns information about the specified digital driver.
AIL_get_DirectSound_info returns the pointers to the DirectSound object currently being used by MSS.
AIL_install_DIG_INI installs and initializes the currently selected MSS .DIG driver file under DOS.
MILES_INSTALL_STATUS specifies possible results from loading a DOS driver.
AIL_install_DIG_driver_file installs and initializes an MSS-compatible .DIG driver file under DOS.
IO_PARMS indicates specific hardware settings to use when installing a digital driver

For technical support, e-mail Miles3@radgametools.com
© Copyright 1991-2007 RAD Game Tools, Inc. All Rights Reserved.